package cn.cnsy123.shorturls.business.service;

import cn.cnsy123.shorturls.api.controller.param.SysDeptInfoDeleteParam;
import cn.cnsy123.shorturls.api.controller.param.SysDeptInfoInsertParam;
import cn.cnsy123.shorturls.api.controller.param.SysDeptInfoQueryParam;
import cn.cnsy123.shorturls.api.controller.param.SysDeptInfoUpdateParam;
import cn.cnsy123.shorturls.api.controller.param.SysDeptUserTreeQueryParam;
import cn.cnsy123.shorturls.api.controller.vo.Select2ResultVo;
import cn.cnsy123.shorturls.api.controller.vo.SysDeptQueryResult;
import cn.cnsy123.shorturls.api.controller.vo.SysDeptSaveResult;
import cn.cnsy123.shorturls.api.controller.vo.ZtreeSimpleResultVo;

public interface SysDeptInfoService {

    SysDeptQueryResult querySysDeptList(SysDeptInfoQueryParam sysDeptInfoQueryParam);

    SysDeptSaveResult saveSysDeptInfo(SysDeptInfoInsertParam sysDeptInfoInsertParam);

    SysDeptSaveResult updateSysDeptItem(SysDeptInfoUpdateParam sysDeptInfoUpdateParam);

    SysDeptSaveResult deleteSysDeptItem(SysDeptInfoDeleteParam sysDeptInfoDeleteParam);

    ZtreeSimpleResultVo querySysDeptTree();

    Select2ResultVo querySysDeptLeaderTree(SysDeptUserTreeQueryParam sysDeptUserTreeQueryParam);

}
